package com.yypinger.common.vaadin.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.vaadin.ui.Field;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface VaadinUIField {
	
	Class<? extends Field> type();
	String caption();
	String width() default "40px";
	String description() default "";
	boolean visible() default true;
	boolean enabled() default true;
	boolean required() default false;
	boolean readOnly() default false;
	String nullRepresentation() default "";
	boolean nullSettingAllowed() default true;
	String[] params() default {};
	UIFieldValidator[] validators() default {};
}
